#pragma once

#include<SFML/Graphics.hpp>

class EventManager
{
private:
	int _RefreshAllWindowRequested;
	int _RightInput;
	int _DownInput;
	int _LeftInput;
	int _UpInput;

public:
	//Initialization
	EventManager(void);
	~EventManager(void);

	//Properties
	int RightInput() { return _RightInput; }
	int DownInput() { return _DownInput; }
	int LeftInput() { return _LeftInput; }
	int UpInput() { return _UpInput; }

	//Methods
	void RequestRefreshAllWindow() { _RefreshAllWindowRequested = true; }
	int IsRefreshAllWindowRequested() { return _RefreshAllWindowRequested; }
	void ResetWindowRefreshRequest() { _RefreshAllWindowRequested = false; }

	void UpdateInput(sf::RenderWindow& pRenderWindow);
	void ResetInput();
};
